범위 기반 for문 (range-based for statement)
일반적인 for문은 다음과 같은 형태이다.
1 | const int n = 10; |
하지만 C++ 11에서는 범위기반 for문 이라는 새로운 형태의 루프를 도입하여 더 간결하게 배열 등의 모든 요소를 반복하는 방법을 제공한다.
범위 기반 for문의 기본 문법은 다음과 같다.
1 | for(element_declaration : array) |
위와 같이 일반 for문을 간단하게 표현할 수 있다. 위의 방식들은 각 원소의 참조를 x에 값이 복사되어 사용되기 때문에 원본이 훼손되지는 않지만 원소를 수정할 수 없다. 또한 복사하는데 비용도 발생한다.
1 | // 아래와 같이 사용하면 arr의 모든 원소는 10으로 변경된다. |
참조
https://docs.microsoft.com/ko-kr/cpp/cpp/range-based-for-statement-cpp?view=vs-2019
https://boycoding.tistory.com/210
https://blockdmask.tistory.com/319